﻿using System;


namespace ArrayApplication
{
    class MyArray
    {
        static void Main(string[] args)
        {
            //交错数组与二维数组的区别，可以直观的理解为交错数组每一行的长度是可以不一样的。
            //如果说二维数组像是唐诗，那么交错数组就是宋词，每一句的长短没有限制

            // 声明一个交错数组 a，a 中有三个元素，分别是 a[0],a[1],a[2] 每个元素都是一个数组
            int[][] a = new int[3][];
            // 以下是声明交错数组的每一个元素的，每个数组的长度可以不同
            a[0] = new int[] { 1, 2, 3 };
            a[1] = new int[] { 4, 5, 6, 7, 8 };
            a[2] = new int[] { 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };

            //C# 中的交错数组可以用 C/C++ 中的二维数组的定义来理解——数组的数组。
            //（借用楼上的笔记代码）
            int[][] aa = new int[3][];
            //这句话定义了 aa 是一个数组的数组：
            //然后 aa 的每个元素分别是：
            aa[0] = new int[] { 1, 2, 3 };
            aa[1] = new int[] { 4, 5, 6, 7, 8 };
            aa[2] = new int[] { 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
            //然后在使用的时候 aa[1][2] 可以理解为 (aa[1])[2]，即先计算 aa[1] 获得 aa 的第 2 个元素（一个数组），然后从这个整型数组中获取第 3 个元素。
        }
    }
}